package config

import "time"


type ReqGroupLabels struct {
	Alertname string `json:"alertname"`
}

type ReqCommonLabels struct {
	Alertname string `json:"alertname"`
	Instance  string `json:"instance"`
	Job       string `json:"job"`
	Severity  string `json:"severity"`
}

type ReqCommonAnnotations struct {
	Description string `json:"description"`
	Summary     string `json:"summary"`
}

type ReqAlertLabel struct {
	Alertname string `json:"alertname"`
	Instance  string `json:"instance"`
	Job       string `json:"job"`
	Severity  string `json:"severity"`
}

type ReqAlertAnnotations struct {
	Description string `json:"description"`
	Summary     string `json:"summary"`
}
type Alert struct {
	Status      string              `json:"status"`
	Labels      ReqAlertLabel       `json:"labels"`
	Annotations ReqAlertAnnotations `json:"annotations"`
	StartsAt    time.Time           `json:"startsAt"`
	EndsAt      time.Time           `json:"endsAt"`
	StartTime   string              `json:"startTime"`
	EndTime     string              `json:"endTime"`
	Fingerprint string              `json:"fingerprint"`
	GeneratorURL string              `json:"generatorURL"`
	Count       int                 `json:"count"`
}
type Notification struct {
	Version           string               `json:"version"`
	GroupKey          string               `json:"groupKey"`
	Status            string               `json:"status"`
	Receiver          string               `json:"receiver"`
	GroupLabels       ReqGroupLabels       `json:"groupLabels"`
	CommonLabels      ReqCommonLabels      `json:"commonLabels"`
	ExternalURL       string               `json:"externalURL"`
	Alerts            []Alert              `json:"alerts"`
	CommonAnnotations ReqCommonAnnotations `json:"commonAnnotations"`
}

